package cn.maszy.action.systemsetting;

import java.util.Map;
import net.sourceforge.stripes.action.SessionScope;
import org.springframework.beans.factory.annotation.Autowired;
import cn.maszy.common.BaseAction;
import cn.maszy.common.LoginFilter;
import cn.maszy.model.systemsetting.B_T_Ufp_Login;
import com.opensymphony.xwork2.ActionContext;
import cn.maszy.service.systemsetting.B_T_Ufp_LoginService;

@SessionScope
public class LoginAction extends BaseAction<B_T_Ufp_Login> {
	
	/**
	 * 版本控制信息
	 */
	private static final long serialVersionUID = 6179604301571294802L;
	private B_T_Ufp_Login b_T_Ufp_Login;
	@Autowired
	private B_T_Ufp_LoginService B_T_Ufp_LoginService;
	private String dateString;
	// 验证码
	private String code;
	// 验证信息
	private String message;
	// session
	public Map<String, Object> sessionMap;
	private int count;
	private int sum;

	/********************* class set/get ****************************/
	public B_T_Ufp_Login getB_T_Ufp_Login() {
		return b_T_Ufp_Login;
	}

	public void setB_T_Ufp_Login(B_T_Ufp_Login b_T_Ufp_Login) {
		this.b_T_Ufp_Login = b_T_Ufp_Login;
	}
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public Map<String, Object> getSessionMap() {
		return sessionMap;
	}

	public void setSessionMap(Map<String, Object> sessionMap) {
		this.sessionMap = sessionMap;
	}

	public String getDateString() {
		return dateString;
	}

	public void setDateString(String dateString) {
		this.dateString = dateString;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getSum() {
		return sum;
	}

	public void setSum(int sum) {
		this.sum = sum;
	}

	/******************* STRUTS ACTION METHOD *************************/
	/**
	 * 用户登录
	 * 
	 * @throws Exception
	 * @Author:Arthur
	 * @Time:2012-10-31
	 * @Parameter:@return
	 * @Return:String
	 * @Throws
	 */
	public String login() throws Exception {
		b_T_Ufp_Login = B_T_Ufp_LoginService.loginQuery(b_T_Ufp_Login);
		if (b_T_Ufp_Login.getLoginName() != null) {
			init();
			sessionMap.put(LoginFilter.USER_SESSION, b_T_Ufp_Login);
			sessionMap.put("user", b_T_Ufp_Login);
			sessionMap.put("level",b_T_Ufp_Login.getLevel());
			return SUCCESS;
		} else {
			message = "error";
			return INPUT;
		}
	}

	/**
	 * session初始化
	 * 
	 * @Author:Arthur
	 * @Time:2012-11-1
	 * @Parameter:@return
	 * @Parameter:@throws Exception
	 * @Return:String
	 * @Throws
	 */
	public String init() throws Exception {
		// session初始化
		sessionMap = ActionContext.getContext().getSession();
		/*
		 * if (sessionMap != null && sessionMap.size() != 0) { // session清空处理
		 * sessionMap.clear(); }
		 */

		return SUCCESS;
	}
	/**
	 * 注销session,用户登出
	 * 
	 * @Author:Arthur
	 * @Time:2012-11-2
	 * @Parameter:@return
	 * @Parameter:@throws Exception
	 * @Return:String
	 * @Throws
	 */
	 public String loginOut() {
	 // 获取session内容
	 Map<String, Object> sessionMap = ActionContext.getContext().getSession();
	 if (sessionMap != null && sessionMap.size() != 0) {
	 sessionMap.put(LoginFilter.USER_SESSION,null);
	 // session清空处理
	 sessionMap.clear();
	 }
	 return INPUT;
	
	 }
}
